home *** CD-ROM | disk | FTP | other *** search
/ One Click 21 (Special) / OC021.iso / Juegos / King of Skeleton / King of Skeleton.swf / scripts / __Packages / PerformanceController.as < prev    next >
Encoding:
Text File  |  2006-02-02  |  1.8 KB  |  69 lines

  1. class PerformanceController
  2. {
  3.    var aFrmTms;
  4.    static var nFA = 25;
  5.    var nLFT = 0;
  6.    var cdl = 4;
  7.    static var lf = 22;
  8.    static var uf = 34;
  9.    static var mdl = 6;
  10.    function PerformanceController()
  11.    {
  12.       this.aFrmTms = new Arr();
  13.       this.nLFT = getTimer();
  14.    }
  15.    function onEnterFrame()
  16.    {
  17.       var _loc2_ = getTimer();
  18.       this.aFrmTms.push(_loc2_ - this.nLFT);
  19.       if(this.aFrmTms.length > PerformanceController.nFA)
  20.       {
  21.          var _loc3_ = 1 / (this.aFrmTms.mean() / 1000);
  22.          if(_loc3_ > PerformanceController.uf)
  23.          {
  24.             if(this.cdl < PerformanceController.mdl)
  25.             {
  26.                this.setDetailLvl(this.cdl + 1);
  27.             }
  28.          }
  29.          else if(_loc3_ < PerformanceController.lf)
  30.          {
  31.             if(this.cdl > 1)
  32.             {
  33.                this.setDetailLvl(this.cdl - 1);
  34.             }
  35.          }
  36.          this.aFrmTms = new Arr();
  37.       }
  38.       this.nLFT = _loc2_;
  39.    }
  40.    function setDetailLvl(l)
  41.    {
  42.       switch(l)
  43.       {
  44.          case 1:
  45.             _root._quality = "LOW";
  46.             _root.brdcst.broadcastMessage("setFilter",true);
  47.             break;
  48.          case 2:
  49.             _root.brdcst.broadcastMessage("setScroll",false);
  50.             break;
  51.          case 3:
  52.             _root._quality = "MEDIUM";
  53.             _root.brdcst.broadcastMessage("setFilter",true);
  54.             _root.brdcst.broadcastMessage("setScroll",true);
  55.             break;
  56.          case 4:
  57.             _root._quality = "HIGH";
  58.             _root.brdcst.broadcastMessage("setFilter",true);
  59.             break;
  60.          case 5:
  61.             _root.brdcst.broadcastMessage("setFilter",false);
  62.             break;
  63.          case 6:
  64.             _root._quality = "BEST";
  65.       }
  66.       this.cdl = l;
  67.    }
  68. }
  69.